package com.perfma.xtest.sql;


import com.google.common.collect.Lists;

import java.util.List;

/**
 * @author: junhui.si
 * @date: 2023-11-16 14:14
 **/
public class HSDemo {

    private static final DefaultKeyGenerator keyGenerator = new DefaultKeyGenerator();

    private static final String sql = "INSERT INTO perfma_xsea.stress_rel_goal_app (id, goal_id, cluster_id, app_id, create_time, modify_time, merchant_id, instance_type, instance_name, instance_extra_content, env_id) VALUES ($id, $goalId, null, null, '2023-11-16 15:00:00', '2023-11-16 15:00:00', 132078224594309120, 2, null, '{\"ip\":\"$ip\"}', 782249623141482496);";

    //  账户管理2.0
    private static final List<String> ipList1 = Lists.newArrayList("10.20.180.244", "10.20.180.245", "10.20.180.246", "10.20.180.247", "10.20.137.240");
    private static final List<Long> goalIdList1 = Lists.newArrayList(
            82326309348311040L,
            82339096379260928L,
            82339121049108480L,
            82779053985103872L,
            82779074820308992L,
            82779133171466240L,
            82779213265895424L,
            83049680143908864L,
            83049808068083712L,
            83049869041729536L,
            83049920761692160L,
            83049976152719360L,
            101506814529503232L,
            101506842011631616L,
            101506851981492224L,
            101506879024267264L,
            101506887353106432L,
            101506901041217536L,
            101506911492374528L,
            101506928324116480L,
            101506936645615616L,
            101506944611647488L,
            101506953864282112L,
            101506962910347264L,
            101506972677832704L,
            101506981637914624L,
            101506993630478336L,
            101507004486385664L,
            101507012656889856L,
            101507022312177664L,
            101507031789207552L,
            101507039794036736L,
            101507047424524288L,
            101507056619487232L,
            101507116117786624L,
            101507125337915392L,
            101507138621276160L,
            101507147866570752L,
            101507155952140288L,
            101507163357184000L,
            101507173706629120L,
            101507181490208768L,
            101507189430026240L,
            101507199385206784L,
            101507324252782592L,
            101507335218790400L,
            101507359138906112L,
            101507373450919936L,
            101507386159661056L,
            101507400106770432L,
            101507411807830016L,
            101507424447365120L,
            101507435783520256L,
            101507450924957696L,
            101507471494873088L,
            101507521280212992L,
            101712958192615424L,
            101721278970331136L,
            101981435721678848L,
            101985678164754432L,
            101985697475330048L,
            101985713023614976L,
            101985729824948224L,
            101985756950560768L,
            101985770327244800L,
            101985786322223104L,
            102776404741980160L,
            102776420893196288L,
            102776445090136064L,
            102776461015908352L,
            102776475996913664L,
            102776490937024512L,
            102798437798379520L,
            102798452121927680L,
            102798472086814720L,
            102798486479568896L,
            104987714927984640L,
            105527012047716352L,
            105586870099902464L,
            106607739593031680L,
            106607945614098432L,
            106610000956227584L,
            106610019294773248L,
            106610038504685568L,
            106610364858236928L,
            106787320435310592L,
            107149802961108992L,
            107152170394058752L,
            110481350836879360L,
            110490532349739008L,
            110502443497816064L,
            121211178397466624L,
            121350502820610048L,
            121641973884911616L,
            121641991270301696L,
            121648236934987776L,
            125241420629934080L,
            125241442628009984L,
            125241466596360192L,
            125241485501136896L,
            125896602519863296L,
            125896627732873216L,
            125896648079441920L,
            125898959520530432L,
            125899168841465856L,
            125899214580350976L,
            125899261906780160L,
            125899299703750656L,
            125899353231458304L,
            131159365684035584L,
            131159571760676864L,
            131159634871320576L,
            131159714063974400L,
            131159769551470592L,
            131335573298216960L,
            131335642933100544L,
            131335687746093056L,
            131516009981935616L,
            132222669782253568L,
            132223353912033280L,
            132315493614747648L,
            132332805072879616L,
            154806029286113280L,
            154806051557867520L,
            155370515178979328L,
            155370544107094016L,
            155370564160061440L,
            164244800337346560L,
            164244953299419136L,
            164244953813221376L,
            164244954073268224L,
            164244957202219008L,
            164244959821561856L,
            164244960358432768L,
            164244960612188160L,
            164244960878526464L,
            164244961934442496L,
            164244962214412288L,
            164244990837391360L,
            164244991864995840L,
            164244992135528448L,
            164244992643039232L,
            164244993409548288L,
            164244993940127744L,
            164244994201223168L,
            164244994457075712L,
            164244994710831104L,
            164244994960392192L,
            164244995213099008L,
            164244995465805824L,
            164244995721658368L,
            164245005104316416L,
            164245041638801408L,
            164245041897799680L,
            164245042943229952L,
            164245044241367040L,
            164245044506656768L,
            164245045319303168L,
            164245363044122624L
    );

    // bop业务集中运营平台
    private static final List<String> ipList2 = Lists.newArrayList("192.168.48.243", "192.168.48.244", "192.168.48.245");
    private static final List<Long> goalIdList2 = Lists.newArrayList(
            74704163220488192L,
            75258608002007040L,
            75259880556986368L,
            75260299445272576L,
            75261200802250752L,
            75261912572493824L,
            75262746750353408L,
            75263343098593280L,
            75438507235999744L,
            80684896346963968L,
            100703474436538368L,
            100703544707907584L,
            100703567955886080L,
            100703616120127488L,
            100703747935567872L,
            100703787506728960L,
            100703995595587584L,
            100704022927769600L,
            100704057209913344L,
            100704073860251648L,
            100704091109326848L,
            100704111431778304L,
            100704147964166144L,
            100704170788519936L,
            100704189025353728L,
            100704207226535938L,
            100704230601392128L,
            100704305442455552L,
            100704324276977664L,
            100704356206116864L,
            100704375678173184L,
            100704395122966528L,
            100704447789793280L,
            100704469805694976L,
            100704491021533184L,
            100704510563844096L,
            100704527120859136L,
            100704547729571840L,
            100704566490693632L,
            106151602230919168L,
            106151642190053376L,
            107489636933173248L,
            107759293247258624L,
            107759583692324864L,
            107759620167041024L,
            107759666787778560L,
            107759683758981120L,
            107759701116059648L,
            107759720251523072L,
            108690628148199424L,
            108690715432714240L,
            108691032549359616L,
            108691092244791296L,
            108691196844441600L,
            108691609557663744L,
            110057029780897792L,
            114580830243782656L,
            115374237960634368L,
            115638567612448768L,
            119731338487005184L,
            125266892973670400L,
            129136895197184000L,
            129139626146267136L,
            133239293085745152L,
            133239332345479168L,
            133239495230226432L,
            133239668925792256L,
            133239715001270272L,
            133239786276126720L,
            133243594138976256L,
            133243622882541568L,
            133245244046049280L,
            136228884712521728L,
            136229090348761088L,
            140391772040724480L,
            141677114242891776L,
            143093889895497728L,
            143093931634065408L,
            143093976268800000L,
            143094024280997888L,
            143094142322343936L,
            143094195983220736L,
            143094244826939392L,
            143094508926533632L,
            143094542671806464L,
            143094591828000768L,
            143094641121558528L,
            143094681812598784L,
            143094730985570304L,
            143094778095992832L,
            148007901454139392L,
            148007965743382528L,
            148016951365468160L,
            164244392527265792L,
            164244686263812096L,
            164244750049738752L,
            164244810350198784L,
            164244929878425600L,
            164244996230217728L,
            164244996480827392L,
            164244996744019968L,
            164244996995678208L,
            164244998527647744L,
            164245001871556608L,
            164245014653698048L,
            164245018360414208L,
            164245018620461056L,
            164245018875265024L,
            164245019132166144L,
            164245021209395200L,
            164245021467344896L,
            164245137955749888L
    );

    public static void main(String[] args) {
        print(ipList1, goalIdList1);
        print(ipList2, goalIdList2);
    }

    private static void print(List<String> ipList, List<Long> goalIdList) {
        for (Long goalId : goalIdList) {
            for (String ip : ipList) {
                String s = sql.replace("$id", String.valueOf(keyGenerator.generateKey().longValue()))
                        .replace("$goalId", String.valueOf(goalId))
                        .replace("$ip", ip);
                System.out.println(s);
            }
        }
    }
}
